#ifndef __RotatingBackground_h__
#define __RotatingBackground_h__

namespace game{
    class RotatingBackground{
        private:
            bool loaded;
            bool dual;
            bool screen;
            u8 bg_select;
            void* bg_tiles;
            u32 bg_tilesize;
            void* bg_map;
            void* bg_palette;
            u32 bg_size;
            bool wraparound;
            
            s32 scroll_x;
            s32 scroll_y;
            s32 rotcenter_x;
            s32 rotcenter_y;
            s16 angle;
            s32 zoom;
            
            void loadbackground(bool screen);
        public:
            RotatingBackground(bool screen, u8 bg_select, void* tiles, u32 tilesize, void* map, void* palette, u32 width, bool wraparound);
            void load();
            void loaddual();
            void remove();
            bool isloaded();
            
            void setrotcenter(s32 x, s32 y);
            void setscroll(s32 x, s32 y);
            void setangle(s16 angle);
            void setzoom(s32 zoom);
    };   
}

#endif
